An electronically controlled device may include a diagnostics system. The diagnostics system may be arranged to detect errors occurring within the device. The errors may be reported using an error code. The error code may be a number or string and may not contain any end user readable or helpful information. Some error codes are in a string (text) format which may make searching complicated. Some error codes are not scalable for product extensions. Some error codes do not contain certain categories of information, which makes it difficult to classify, prioritize and correct the errors. Troubleshooting a device which has experienced an error can be time-consuming and costly if the only information one receives from the device when an error occurs is an error code describing what has happened.